package com.example.foodsy.controller;

import com.example.foodsy.service.StatsService;
import com.example.foodsy.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/stats") // 统计接口统一前缀
@CrossOrigin // 跨域支持
public class StatsController {

    @Autowired
    private StatsService statsService;

    /**
     * 接口1：近12个月企业注册数量趋势
     * 路径：/stats/company/monthly
     * 方式：GET
     * 作用：按“月”分组，返回近12个月每月的企业注册数（用于趋势图）
     */
    @GetMapping("/company/monthly")
    public Result getMonthlyCompanyTrend() {
        return statsService.getMonthlyCompanyTrend();
    }

    /**
     * 接口2：按省份统计企业注册数量
     * 路径：/stats/company/province
     * 方式：GET
     * 作用：按“省份”分组，返回各省份的企业注册数（用于省份分布图表）
     */
    @GetMapping("/company/province")
    public Result getCompanyCountByProvince() {
        return statsService.getCompanyCountByProvince();
    }

    /**
     * 接口3：按企业类型统计注册数量分布
     * 路径：/stats/company/type
     * 方式：GET
     * 作用：按“企业类型（养殖/屠宰/批发/零售）”分组，返回各类型的企业数（用于饼图/柱状图）
     */
    @GetMapping("/company/type")
    public Result getCompanyCountByType() {
        return statsService.getCompanyCountByType();
    }
}